package com.slt.concurrency.mashibing2019.juc.c_004_Volatile.my;

/**
 * 证明 volatile 的线程可见性
 *
 * 启动两个线程，共同读取一个共享变量，其中一个线程修改，查看另一个线程是否能够及时读取到最新的值。
 */
public class Volatile_visibility01 {
    private static boolean running = true;

    public static void main(String[] args) {
        //启动线程
        new Thread(()->{
            System.out.println("start");
            while (running){
                //执行业务逻辑
            }
            System.out.println("服务器已经停止");
        }).start();


//        try {
//            TimeUnit.SECONDS.sleep(1);
//        } catch (InterruptedException e) {
//            e.printStackTrace();
//        }

        new Thread(()->{
            running = false;
        }).start();
    }

}
